/**
 * 视频相关 API
 */
import { get, post } from '../utils/request';
import { BASE_URL } from '../constants';

/**
 * 视频信息接口
 */
export interface VideoInfo {
  /**
   * 无水印视频URL
   */
  url: string;
  
  /**
   * 视频标题
   */
  title: string;
  
  /**
   * 视频作者
   */
  author: string;
  
  /**
   * 视频来源平台
   */
  platform: string;
  
  /**
   * 视频封面URL
   */
  coverUrl: string;
  
  /**
   * 视频时长（秒）
   */
  duration: number;
}

/**
 * 解析视频链接，获取无水印视频
 * @param url 视频分享链接
 * @returns Promise
 */
export function parseVideo(url: string) {
  // 提取链接中的URL部分
  const urlPattern = /(https?:\/\/[^\s]+)/;
  const match = url.match(urlPattern);
  
  // 如果找到URL，只发送URL部分；否则发送整个文本
  const videoUrl = match ? match[0] : url;
  
  console.log('发送到后端的链接:', videoUrl);
  
  // 设置Content-Type为application/x-www-form-urlencoded
  return post(`${BASE_URL}/video/parse`, { url: videoUrl }, {
    header: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  });
}

/**
 * 获取支持的平台列表
 * @returns Promise
 */
export function getSupportedPlatforms() {
  return get(`${BASE_URL}/video/platforms`);
}

export default {
  parseVideo,
  getSupportedPlatforms
}; 